home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: Mailbox/MIME Entity
(archive/mbox).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| Mailbox/MIME Entity (archive/mbox)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news text
| default
| |
99%
| file
| C++ source text
| default
| |
98%
| file
| C++ source, ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| dexmagic
| PrintFox/Pagefox WEAK
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/950 MIME Email (1.0)
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/news
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 6e 65 | 77 73 2e 70 6f 6c 79 6d |Path: ne|ws.polym|
|00000010| 74 6c 2e 63 61 21 6e 65 | 77 73 0a 46 72 6f 6d 3a |tl.ca!ne|ws.From:|
|00000020| 20 50 69 65 72 72 65 20 | 46 65 72 6c 61 6e 64 20 | Pierre |Ferland |
|00000030| 3c 70 69 65 72 72 65 40 | 6d 65 63 61 2e 70 6f 6c |<pierre@|meca.pol|
|00000040| 79 6d 74 6c 2e 63 61 3e | 0a 4e 65 77 73 67 72 6f |ymtl.ca>|.Newsgro|
|00000050| 75 70 73 3a 20 63 6f 6d | 70 2e 6c 61 6e 67 2e 63 |ups: com|p.lang.c|
|00000060| 2b 2b 0a 53 75 62 6a 65 | 63 74 3a 20 52 65 3a 20 |++.Subje|ct: Re: |
|00000070| 43 72 65 61 74 69 6e 67 | 20 61 6e 20 6f 62 6a 65 |Creating| an obje|
|00000080| 63 74 20 76 69 61 20 6e | 65 77 20 77 69 74 68 20 |ct via n|ew with |
|00000090| 4f 4e 4c 59 20 61 20 70 | 6f 69 6e 74 65 72 20 74 |ONLY a p|ointer t|
|000000a0| 6f 20 74 68 65 20 6f 62 | 6a 65 63 74 0a 44 61 74 |o the ob|ject.Dat|
|000000b0| 65 3a 20 54 68 75 2c 20 | 31 31 20 41 70 72 20 31 |e: Thu, |11 Apr 1|
|000000c0| 39 39 36 20 30 39 3a 31 | 30 3a 31 31 20 2d 30 34 |996 09:1|0:11 -04|
|000000d0| 30 30 0a 4f 72 67 61 6e | 69 7a 61 74 69 6f 6e 3a |00.Organ|ization:|
|000000e0| 20 43 65 6e 74 65 72 20 | 66 6f 72 20 41 70 70 6c | Center |for Appl|
|000000f0| 69 65 64 20 52 65 73 65 | 61 72 63 68 20 6f 6e 20 |ied Rese|arch on |
|00000100| 50 6f 6c 79 6d 65 72 73 | 0a 4d 65 73 73 61 67 65 |Polymers|.Message|
|00000110| 2d 49 44 3a 20 3c 33 31 | 36 44 30 34 42 33 2e 34 |-ID: <31|6D04B3.4|
|00000120| 31 43 36 40 6d 65 63 61 | 2e 70 6f 6c 79 6d 74 6c |1C6@meca|.polymtl|
|00000130| 2e 63 61 3e 0a 52 65 66 | 65 72 65 6e 63 65 73 3a |.ca>.Ref|erences:|
|00000140| 20 3c 34 6b 68 30 37 76 | 24 6c 6e 6f 40 63 72 63 | <4kh07v|$lno@crc|
|00000150| 68 68 33 32 37 2e 72 69 | 63 68 2e 62 6e 72 2e 63 |hh327.ri|ch.bnr.c|
|00000160| 61 3e 0a 4e 4e 54 50 2d | 50 6f 73 74 69 6e 67 2d |a>.NNTP-|Posting-|
|00000170| 48 6f 73 74 3a 20 70 65 | 67 61 73 65 2e 6d 65 63 |Host: pe|gase.mec|
|00000180| 61 2e 70 6f 6c 79 6d 74 | 6c 2e 63 61 0a 4d 69 6d |a.polymt|l.ca.Mim|
|00000190| 65 2d 56 65 72 73 69 6f | 6e 3a 20 31 2e 30 0a 43 |e-Versio|n: 1.0.C|
|000001a0| 6f 6e 74 65 6e 74 2d 54 | 79 70 65 3a 20 74 65 78 |ontent-T|ype: tex|
|000001b0| 74 2f 70 6c 61 69 6e 3b | 20 63 68 61 72 73 65 74 |t/plain;| charset|
|000001c0| 3d 75 73 2d 61 73 63 69 | 69 0a 43 6f 6e 74 65 6e |=us-asci|i.Conten|
|000001d0| 74 2d 54 72 61 6e 73 66 | 65 72 2d 45 6e 63 6f 64 |t-Transf|er-Encod|
|000001e0| 69 6e 67 3a 20 37 62 69 | 74 0a 58 2d 4d 61 69 6c |ing: 7bi|t.X-Mail|
|000001f0| 65 72 3a 20 4d 6f 7a 69 | 6c 6c 61 20 32 2e 30 31 |er: Mozi|lla 2.01|
|00000200| 20 28 58 31 31 3b 20 49 | 3b 20 49 52 49 58 20 35 | (X11; I|; IRIX 5|
|00000210| 2e 33 20 49 50 32 30 29 | 0a 54 6f 3a 20 42 72 65 |.3 IP20)|.To: Bre|
|00000220| 74 20 42 69 65 67 68 6c | 65 72 20 3c 6a 6f 62 65 |t Bieghl|er <jobe|
|00000230| 6c 6c 40 62 6e 72 2e 63 | 61 3e 0a 0a 42 72 65 74 |ll@bnr.c|a>..Bret|
|00000240| 20 42 69 65 67 68 6c 65 | 72 20 77 72 6f 74 65 3a | Bieghle|r wrote:|
|00000250| 0a 3e 20 0a 3e 20 41 6e | 20 69 6e 74 65 72 65 73 |.> .> An| interes|
|00000260| 74 69 6e 67 20 70 72 6f | 62 6c 65 6d 20 49 27 76 |ting pro|blem I'v|
|00000270| 65 20 63 6f 6d 65 20 61 | 63 72 6f 73 73 2e 2e 2e |e come a|cross...|
|00000280| 20 49 20 77 61 73 20 77 | 6f 6e 64 65 72 69 6e 67 | I was w|ondering|
|00000290| 20 69 66 20 74 68 69 73 | 0a 3e 20 69 73 20 70 6f | if this|.> is po|
|000002a0| 73 73 69 62 6c 65 3a 0a | 3e 20 0a 3e 20 49 20 68 |ssible:.|> .> I h|
|000002b0| 61 76 65 20 61 20 67 65 | 6e 65 72 69 63 20 43 6f |ave a ge|neric Co|
|000002c0| 6d 6d 61 6e 64 4f 62 6a | 65 63 74 20 77 68 69 63 |mmandObj|ect whic|
|000002d0| 68 20 64 65 66 69 6e 65 | 73 20 73 65 76 65 72 61 |h define|s severa|
|000002e0| 6c 20 70 75 72 65 20 76 | 69 72 74 75 61 6c 0a 3e |l pure v|irtual.>|
|000002f0| 20 66 75 6e 63 74 69 6f | 6e 73 2e 20 20 44 65 72 | functio|ns. Der|
|00000300| 69 76 65 64 20 66 72 6f | 6d 20 43 6f 6d 6d 61 6e |ived fro|m Comman|
|00000310| 64 4f 62 6a 65 63 74 20 | 61 72 65 20 75 73 65 72 |dObject |are user|
|00000320| 20 63 6f 6d 6d 61 6e 64 | 73 2c 20 73 75 63 68 0a | command|s, such.|
|00000330| 3e 20 61 73 20 45 78 69 | 74 43 6f 6d 6d 61 6e 64 |> as Exi|tCommand|
|00000340| 2c 20 53 74 61 74 75 73 | 43 6f 6d 6d 61 6e 64 2c |, Status|Command,|
|00000350| 20 65 74 63 2e 0a 3e 20 | 0a 3e 20 54 6f 20 70 72 | etc..> |.> To pr|
|00000360| 6f 63 65 73 73 20 61 20 | 63 6f 6d 6d 61 6e 64 20 |ocess a |command |
|00000370| 28 63 75 72 72 65 6e 74 | 6c 79 29 20 49 20 64 6f |(current|ly) I do|
|00000380| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 3a 0a | the fol|lowing:.|
|00000390| 3e 20 0a 3e 20 20 20 20 | 20 20 20 20 20 43 6f 6d |> .> | Com|
|000003a0| 6d 61 6e 64 4f 62 6a 65 | 63 74 2a 20 62 61 73 65 |mandObje|ct* base|
|000003b0| 50 74 72 3b 0a 3e 20 0a | 3e 20 20 20 20 20 20 20 |Ptr;.> .|> |
|000003c0| 20 20 69 66 20 28 63 6f | 6d 6d 61 6e 64 20 3d 3d | if (co|mmand ==|
|000003d0| 20 22 65 78 69 74 22 29 | 0a 3e 20 20 20 20 20 20 | "exit")|.> |
|000003e0| 20 20 20 7b 0a 3e 20 20 | 20 20 20 20 20 20 20 20 | {.> | |
|000003f0| 20 20 20 20 20 20 20 62 | 61 73 65 50 74 72 20 3d | b|asePtr =|
|00000400| 20 6e 65 77 20 45 78 69 | 74 43 6f 6d 6d 61 6e 64 | new Exi|tCommand|
|00000410| 3b 0a 3e 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.> | |
|00000420| 20 20 20 20 62 61 73 65 | 50 74 72 2d 3e 69 6d 70 | base|Ptr->imp|
|00000430| 6c 65 6d 65 6e 74 28 29 | 3b 0a 3e 20 20 20 20 20 |lement()|;.> |
|00000440| 20 20 20 20 7d 0a 3e 20 | 20 20 20 20 20 20 20 20 | }.> | |
|00000450| 65 6c 73 65 20 69 66 20 | 28 63 6f 6d 6d 61 6e 64 |else if |(command|
|00000460| 20 3d 3d 20 22 73 74 61 | 74 75 73 22 29 0a 3e 20 | == "sta|tus").> |
|00000470| 20 20 20 20 20 20 20 20 | 7b 0a 3e 20 20 20 20 20 | |{.> |
|00000480| 20 20 20 20 20 20 20 20 | 20 20 20 20 62 61 73 65 | | base|
|00000490| 50 74 72 20 3d 20 6e 65 | 77 20 53 74 61 74 75 73 |Ptr = ne|w Status|
|000004a0| 43 6f 6d 6d 61 6e 64 3b | 0a 3e 20 20 20 20 20 20 |Command;|.> |
|000004b0| 20 20 20 20 20 20 20 20 | 20 20 20 62 61 73 65 50 | | baseP|
|000004c0| 74 72 2d 3e 69 6d 70 6c | 65 6d 65 6e 74 28 29 3b |tr->impl|ement();|
|000004d0| 0a 3e 20 20 20 20 20 20 | 20 20 20 7d 0a 3e 20 0a |.> | }.> .|
|000004e0| 3e 20 57 68 61 74 20 49 | 20 77 6f 75 6c 64 20 4c |> What I| would L|
|000004f0| 49 4b 45 20 74 6f 20 64 | 6f 20 69 73 20 74 68 65 |IKE to d|o is the|
|00000500| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 3a 0a | the fol|lowing:.|
|00000510| 3e 20 0a 3e 20 20 20 20 | 20 20 20 20 20 43 6f 6d |> .> | Com|
|00000520| 6d 61 6e 64 4f 62 6a 65 | 63 74 2a 20 62 61 73 65 |mandObje|ct* base|
|00000530| 50 74 72 20 3d 20 20 6e | 65 77 20 63 6f 6d 6d 61 |Ptr = n|ew comma|
|00000540| 6e 64 54 61 62 6c 65 5b | 63 6f 6d 6d 61 6e 64 5d |ndTable[|command]|
|00000550| 3b 0a 3e 20 0a 3e 20 77 | 68 65 72 65 20 63 6f 6d |;.> .> w|here com|
|00000560| 6d 61 6e 64 54 61 62 6c | 65 20 69 73 20 61 6e 20 |mandTabl|e is an |
|00000570| 61 73 73 6f 63 69 61 74 | 69 76 65 20 61 72 72 61 |associat|ive arra|
|00000580| 79 20 61 73 20 66 6f 6c | 6c 6f 77 73 3a 0a 3e 20 |y as fol|lows:.> |
|00000590| 0a 3e 20 20 20 20 20 20 | 20 20 20 4b 65 79 20 20 |.> | Key |
|000005a0| 20 20 20 20 20 20 20 20 | 20 20 20 56 61 6c 75 65 | | Value|
|000005b0| 0a 3e 20 20 20 20 20 20 | 20 20 20 22 65 78 69 74 |.> | "exit|
|000005c0| 22 20 20 45 78 69 74 43 | 6f 6d 6d 61 6e 64 2a 0a |" ExitC|ommand*.|
|000005d0| 3e 20 20 20 20 20 20 20 | 20 20 22 73 74 61 74 75 |> | "statu|
|000005e0| 73 22 20 20 20 20 20 20 | 20 20 53 74 61 74 75 73 |s" | Status|
|000005f0| 43 6f 6d 6d 61 6e 64 2a | 0a 3e 20 0a 3e 20 54 68 |Command*|.> .> Th|
|00000600| 65 20 70 72 6f 62 6c 65 | 6d 20 69 73 20 69 66 20 |e proble|m is if |
|00000610| 74 68 65 72 65 20 69 73 | 20 61 20 77 61 79 20 74 |there is| a way t|
|00000620| 6f 20 63 72 65 61 74 65 | 20 61 20 6e 65 77 20 6f |o create| a new o|
|00000630| 62 6a 65 63 74 0a 3e 20 | 6f 66 20 61 20 67 69 76 |bject.> |of a giv|
|00000640| 65 6e 20 74 79 70 65 20 | 68 61 76 69 6e 67 20 6f |en type |having o|
|00000650| 6e 6c 79 20 61 20 70 6f | 69 6e 74 65 72 20 74 6f |nly a po|inter to|
|00000660| 20 74 68 61 74 20 74 79 | 70 65 2e 0a 3e 20 0a 3e | that ty|pe..> .>|
|00000670| 20 49 73 20 74 68 69 73 | 20 70 6f 73 73 69 62 6c | Is this| possibl|
|00000680| 65 3f 0a 3e 20 0a 3e 20 | 52 65 67 61 72 64 73 2c |e?.> .> |Regards,|
|00000690| 0a 3e 20 0a 3e 20 4a 6f | 65 0a 3e 20 2d 2d 0a 3e |.> .> Jo|e.> --.>|
|000006a0| 20 4a 6f 73 65 70 68 20 | 41 2e 20 42 65 6c 6c 20 | Joseph |A. Bell |
|000006b0| 28 4e 4f 54 20 42 72 65 | 74 20 42 69 65 67 68 6c |(NOT Bre|t Bieghl|
|000006c0| 65 72 29 20 6a 6f 62 65 | 6c 6c 40 62 6e 72 2e 63 |er) jobe|ll@bnr.c|
|000006d0| 61 0a 3e 20 4e 6f 72 74 | 68 65 72 6e 20 54 65 6c |a.> Nort|hern Tel|
|000006e0| 65 63 6f 6d 20 2f 20 42 | 65 6c 6c 2d 4e 6f 72 74 |ecom / B|ell-Nort|
|000006f0| 68 65 72 6e 20 52 65 73 | 65 61 72 63 68 0a 3e 20 |hern Res|earch.> |
|00000700| 22 57 68 61 74 3f 20 20 | 45 76 61 63 75 61 74 65 |"What? |Evacuate|
|00000710| 20 6e 6f 77 2c 20 69 6e | 20 6f 75 72 20 6d 6f 6d | now, in| our mom|
|00000720| 65 6e 74 20 6f 66 20 74 | 72 69 75 6d 70 68 3f 20 |ent of t|riumph? |
|00000730| 20 53 75 72 65 6c 79 20 | 79 6f 75 20 6f 76 65 72 | Surely |you over|
|00000740| 65 73 74 69 6d 61 74 65 | 20 74 68 65 69 72 20 63 |estimate| their c|
|00000750| 68 61 6e 63 65 73 2e 22 | 0a 0a 0a 48 69 20 42 72 |hances."|...Hi Br|
|00000760| 65 74 2c 0a 0a 57 68 61 | 74 20 79 6f 75 20 6e 65 |et,..Wha|t you ne|
|00000770| 65 64 20 69 73 20 61 20 | 76 69 72 74 75 61 6c 20 |ed is a |virtual |
|00000780| 63 6f 6e 73 74 72 75 63 | 74 6f 72 2c 20 74 68 61 |construc|tor, tha|
|00000790| 74 20 69 73 20 61 20 70 | 75 72 65 20 76 69 72 74 |t is a p|ure virt|
|000007a0| 75 61 6c 20 0a 66 75 6e | 63 74 69 6f 6e 20 64 65 |ual .fun|ction de|
|000007b0| 63 6c 61 72 65 64 20 69 | 6e 20 74 68 65 20 62 61 |clared i|n the ba|
|000007c0| 73 65 20 63 6c 61 73 73 | 3a 0a 0a 63 6c 61 73 73 |se class|:..class|
|000007d0| 20 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 5f 63 | Command|Object_c|
|000007e0| 20 7b 0a 0a 09 70 75 62 | 6c 69 63 3a 0a 09 09 76 | {...pub|lic:...v|
|000007f0| 69 72 74 75 61 6c 20 43 | 6f 6d 6d 61 6e 64 4f 62 |irtual C|ommandOb|
|00000800| 6a 65 63 74 5f 63 20 2a | 56 69 72 74 75 61 6c 43 |ject_c *|VirtualC|
|00000810| 6f 6e 73 74 72 75 63 74 | 28 76 6f 69 64 29 3d 30 |onstruct|(void)=0|
|00000820| 3b 0a 0a 7d 3b 0a 0a 20 | 20 63 6c 61 73 73 20 45 |;..};.. | class E|
|00000830| 78 69 74 43 6f 6d 6d 61 | 6e 64 5f 63 20 7b 0a 09 |xitComma|nd_c {..|
|00000840| 70 75 62 6c 69 63 3a 0a | 09 09 2f 2f 20 43 6f 70 |public:.|..// Cop|
|00000850| 79 20 63 6f 6e 73 74 72 | 75 63 74 6f 72 2c 20 6e |y constr|uctor, n|
|00000860| 65 65 64 65 64 20 69 6e | 20 76 69 72 74 75 61 6c |eeded in| virtual|
|00000870| 20 63 6f 6e 73 74 72 75 | 63 74 6f 72 0a 09 09 45 | constru|ctor...E|
|00000880| 78 69 74 43 6f 6d 6d 61 | 6e 64 5f 63 28 45 78 69 |xitComma|nd_c(Exi|
|00000890| 74 43 6f 6d 6d 61 6e 64 | 5f 63 26 29 3b 0a 0a 09 |tCommand|_c&);...|
|000008a0| 09 2f 2f 20 76 69 72 74 | 75 61 6c 20 63 6f 6e 73 |.// virt|ual cons|
|000008b0| 74 72 75 63 74 6f 72 20 | 0a 09 09 43 6f 6d 6d 61 |tructor |...Comma|
|000008c0| 6e 64 4f 62 6a 65 63 74 | 5f 63 20 2a 56 69 72 74 |ndObject|_c *Virt|
|000008d0| 75 61 6c 43 6f 6e 73 74 | 72 75 63 74 28 76 6f 69 |ualConst|ruct(voi|
|000008e0| 64 29 20 7b 0a 09 09 09 | 72 65 74 75 72 6e 20 6e |d) {....|return n|
|000008f0| 65 77 20 45 78 69 74 43 | 6f 6d 6d 61 6e 64 5f 63 |ew ExitC|ommand_c|
|00000900| 28 2a 74 68 69 73 29 3b | 0a 09 09 7d 09 09 0a 20 |(*this);|...}... |
|00000910| 20 7d 3b 0a 61 6e 64 20 | 69 6d 70 6c 65 6d 65 6e | };.and |implemen|
|00000920| 74 65 64 20 69 6e 20 74 | 68 65 20 64 65 72 69 76 |ted in t|he deriv|
|00000930| 65 64 20 63 6c 61 73 73 | 65 73 3a 0a 0a 20 20 63 |ed class|es:.. c|
|00000940| 6c 61 73 73 20 45 78 69 | 74 43 6f 6d 6d 61 6e 64 |lass Exi|tCommand|
|00000950| 5f 63 20 7b 0a 09 70 75 | 62 6c 69 63 3a 0a 09 09 |_c {..pu|blic:...|
|00000960| 2f 2f 20 43 6f 70 79 20 | 63 6f 6e 73 74 72 75 63 |// Copy |construc|
|00000970| 74 6f 72 2c 20 6e 65 65 | 64 65 64 20 69 6e 20 76 |tor, nee|ded in v|
|00000980| 69 72 74 75 61 6c 20 63 | 6f 6e 73 74 72 75 63 74 |irtual c|onstruct|
|00000990| 6f 72 0a 09 09 45 78 69 | 74 43 6f 6d 6d 61 6e 64 |or...Exi|tCommand|
|000009a0| 5f 63 28 45 78 69 74 43 | 6f 6d 6d 61 6e 64 5f 63 |_c(ExitC|ommand_c|
|000009b0| 26 29 3b 0a 0a 09 09 2f | 2f 20 76 69 72 74 75 61 |&);..../|/ virtua|
|000009c0| 6c 20 63 6f 6e 73 74 72 | 75 63 74 6f 72 20 0a 09 |l constr|uctor ..|
|000009d0| 09 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 5f 63 |.Command|Object_c|
|000009e0| 20 2a 56 69 72 74 75 61 | 6c 43 6f 6e 73 74 72 75 | *Virtua|lConstru|
|000009f0| 63 74 28 76 6f 69 64 29 | 20 7b 0a 09 09 09 72 65 |ct(void)| {....re|
|00000a00| 74 75 72 6e 20 6e 65 77 | 20 45 78 69 74 43 6f 6d |turn new| ExitCom|
|00000a10| 6d 61 6e 64 5f 63 28 2a | 74 68 69 73 29 3b 0a 09 |mand_c(*|this);..|
|00000a20| 09 7d 09 09 0a 20 20 7d | 3b 0a 0a 57 68 65 6e 20 |.}... }|;..When |
|00000a30| 79 6f 75 20 68 61 6e 64 | 6c 65 20 61 20 70 6f 69 |you hand|le a poi|
|00000a40| 6e 74 65 72 0a 74 6f 20 | 61 20 62 61 73 65 20 63 |nter.to |a base c|
|00000a50| 6c 61 73 73 20 6f 62 6a | 65 63 74 20 28 74 68 75 |lass obj|ect (thu|
|00000a60| 73 20 75 73 69 6e 67 20 | 70 6f 6c 79 6d 6f 72 70 |s using |polymorp|
|00000a70| 68 69 73 6d 73 29 2c 20 | 74 68 65 20 6f 6e 6c 79 |hisms), |the only|
|00000a80| 20 65 6e 74 69 74 79 0a | 74 68 61 74 20 63 61 6e | entity.|that can|
|00000a90| 20 72 65 61 6c 69 7a 65 | 20 74 68 65 20 63 6c 6f | realize| the clo|
|00000aa0| 6e 69 6e 67 20 6f 70 65 | 72 61 74 69 6f 6e 20 69 |ning ope|ration i|
|00000ab0| 73 20 74 68 65 20 64 65 | 72 69 76 65 64 20 6f 62 |s the de|rived ob|
|00000ac0| 6a 65 63 74 20 69 74 73 | 65 6c 66 2c 0a 73 69 6e |ject its|elf,.sin|
|00000ad0| 63 65 20 68 65 27 73 20 | 74 68 65 20 6f 6e 6c 79 |ce he's |the only|
|00000ae0| 20 6f 6e 65 20 74 6f 20 | 6b 6e 6f 77 20 60 60 77 | one to |know ``w|
|00000af0| 68 61 74 20 68 65 20 69 | 73 27 27 2e 0a 54 68 65 |hat he i|s''..The|
|00000b00| 20 6f 6e 6c 79 20 63 6f | 75 6e 74 65 72 70 61 72 | only co|unterpar|
|00000b10| 74 20 69 6e 20 74 68 61 | 74 20 69 73 20 74 68 61 |t in tha|t is tha|
|00000b20| 74 20 69 66 20 79 6f 75 | 20 64 65 73 69 67 6e 20 |t if you| design |
|00000b30| 76 65 72 79 0a 63 6f 6d | 70 6c 69 63 61 74 65 64 |very.com|plicated|
|00000b40| 20 28 61 76 6f 69 64 29 | 20 63 6c 61 73 73 20 66 | (avoid)| class f|
|00000b50| 61 6d 69 6c 79 20 74 72 | 65 65 73 20 77 69 74 68 |amily tr|ees with|
|00000b60| 20 6d 75 6c 74 69 70 6c | 65 20 69 6e 68 65 72 69 | multipl|e inheri|
|00000b70| 74 65 6e 63 65 2c 0a 74 | 68 65 72 65 20 6d 69 67 |tence,.t|here mig|
|00000b80| 68 74 20 62 65 20 61 6d | 62 69 67 75 69 74 69 65 |ht be am|biguitie|
|00000b90| 73 2e 20 20 49 6e 20 73 | 75 63 68 20 61 20 63 61 |s. In s|uch a ca|
|00000ba0| 73 65 2c 20 6d 79 20 61 | 64 76 69 63 65 20 69 73 |se, my a|dvice is|
|00000bb0| 0a 74 6f 20 72 65 2d 64 | 65 73 69 67 6e 20 74 68 |.to re-d|esign th|
|00000bc0| 65 20 66 61 6d 69 6c 69 | 65 73 20 61 6e 64 20 75 |e famili|es and u|
|00000bd0| 73 65 20 63 6f 6e 74 61 | 69 6e 65 72 73 20 61 6e |se conta|iners an|
|00000be0| 64 20 69 6e 74 65 72 66 | 61 63 65 73 0a 74 6f 20 |d interf|aces.to |
|00000bf0| 73 69 6d 70 6c 69 66 79 | 20 74 68 65 20 63 6c 61 |simplify| the cla|
|00000c00| 73 73 20 64 69 61 67 72 | 61 6d 2e 20 20 53 6f 6d |ss diagr|am. Som|
|00000c10| 65 20 6f 74 68 65 72 20 | 61 70 70 72 6f 61 63 68 |e other |approach|
|00000c20| 65 73 20 63 61 6e 0a 6c | 65 61 64 20 74 6f 20 75 |es can.l|ead to u|
|00000c30| 67 6c 79 20 73 69 74 75 | 61 74 69 6f 6e 73 21 0a |gly situ|ations!.|
|00000c40| 0a 48 6f 70 65 20 74 68 | 69 73 20 77 69 6c 6c 20 |.Hope th|is will |
|00000c50| 68 65 6c 70 20 79 6f 75 | 2c 0a 0a 0a 50 69 65 72 |help you|,...Pier|
|00000c60| 72 65 20 46 65 72 6c 61 | 6e 64 0a |re Ferla|nd. |
+--------+-------------------------+-------------------------+--------+--------+